#include <stdio.h>

int use (int num)
{

    if (num == 1)
    {

        return num ;

    }

    else
    {

        return num * use (num - 1) ;

    }

}

int nouse (int num)
{

    int all = 1 ;

    for (int i = 0 ; i < num ; i++)
    {

        all *= (num - i) ;

    }

    return  all ;

}

int main ()
{

    int num = 0 ;

    scanf ("%d" , &num) ;

    // 使用阶乘

    int get1 = use (num) ;

    printf("使用了递归方法求得n = %d 阶乘的结果为: %d\n" , num , get1) ;

    // 不使用阶乘

    int get2 = nouse (num) ;

    printf ("不使用递归方法求得n = %d 阶乘的结果为: %d\n" , num , get2) ;

    return 0 ;

}